package com.itheima.task;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

/*有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};
	创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”，“抽奖箱2”，随机从抽奖池中获取奖项元素并打印在控制台上,格式如下:
* */
public class LuckDraw implements Runnable{
        private Object obj = new Object();
    @Override
    public void run() {
        int[] lotteryPool = {10, 5, 20, 50, 100, 200, 500, 800, 2, 80, 300, 700};
        getDemo1(lotteryPool);
        //getDemo2(lotteryPool);
        //getDemo3(lotteryPool);
    }
/*
* 每次抽的过程中，不打印，抽完时一次性打印(随机)
		在此次抽奖过程中，抽奖箱1总共产生了6个奖项，分别为：10,20,100,500,2,300最高奖项为300元，总计额为932元
		在此次抽奖过程中，抽奖箱2总共产生了6个奖项，分别为：5,50,200,800,80,700最高奖项为800元，总计额为1835元
		在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为800元
* */
    private void getDemo3(int[] lotteryPool) {

    }

    /*
    *2.每次抽的过程中，不打印，抽完时一次性打印(随机)
            在此次抽奖过程中，抽奖箱1总共产生了6个奖项，分别为：10,20,100,500,2,300最高奖项为300元，总计额为932元
            在此次抽奖过程中，抽奖箱2总共产生了6个奖项，分别为：5,50,200,800,80,700最高奖项为800元，总计额为1835元
    * */
    private synchronized void getDemo2(int[] lotteryPool) {
        Random random = new Random();
        int[] newLotteryPool = new int[6];
        int sum = 0;
        int max;
        for (int i = 0; i < 6; i++) {
            int rs = random.nextInt(12);
            newLotteryPool[i] = lotteryPool[rs];
        }
        max = newLotteryPool[0];
        for (int j=0;j<newLotteryPool.length; j++){
            if( max <newLotteryPool[j]){
                max=newLotteryPool[j];
            }
            sum +=newLotteryPool[j];
        }
        System.out.println(Thread.currentThread().getName()+"总共产生了"+newLotteryPool.length+"个奖项" +
                "分别是"+ Arrays.toString(lotteryPool) +"最高奖项为"+max+"总计额为"+sum);

    }
/*
* 1.每次抽出一个奖项就打印一个(随机)
		抽奖箱1 又产生了一个 10 元大奖
		抽奖箱1 又产生了一个 100 元大奖
* */
    private  synchronized void getDemo1(int[] lotteryPool) {

            Random random = new Random();
            int rs = random.nextInt(12);
            System.out.println(Thread.currentThread().getName() + "又产生了一个" + lotteryPool[rs] + "元大奖");

    }

}
